package com.wlyuan.open.dto.tenant;

import com.alibaba.fastjson.annotation.JSONField;
import com.wlyuan.open.dto.OpenTenantSyncDTO;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.EqualsAndHashCode;
import org.hibernate.validator.constraints.Range;

import java.io.Serializable;
import java.time.LocalDateTime;

/**
 * @author lijing
 * @description
 */
@EqualsAndHashCode(callSuper = true)
@Data
public class OpenCompanyTenantSyncDTO extends OpenTenantSyncDTO implements Serializable {

    private static final long serialVersionUID = 5792651949000997339L;
    @ApiModelProperty(value = "公司简称")
    private String abbr;

    @ApiModelProperty(value = "英文名")
    private String englishName;

    @ApiModelProperty(value = "英文名简称")
    private String englishAbbr;

    @ApiModelProperty(value = "logo")
    private String logo;

    @ApiModelProperty(value = "公司网站")
    private String url;

    @Range(min = 1, max = 11, message = "行业不存在")
    @ApiModelProperty(value = "行业")
    private Integer industry;

    @ApiModelProperty(value = "简介")
    private String profile;

    @ApiModelProperty(value = "营业执照")
    private String businessLicenseUrl;

    @ApiModelProperty(value = "社会信用代码")
    private String socialCreditCode;

    @ApiModelProperty(value = "省份")
    private String province;

    @ApiModelProperty(value = "市")
    private String city;

    @ApiModelProperty(value = "区")
    private String district;

    @ApiModelProperty(value = "地址")
    private String address;

    @ApiModelProperty(value = "纬度")
    private String lat;

    @ApiModelProperty(value = "经度")
    private String lon;

    @ApiModelProperty(value = "联系人")
    private String contactName;

    @ApiModelProperty(value = "联系电话")
    private String contactMobile;

    @ApiModelProperty(value = "邮箱")
    @JSONField(alternateNames = "email")
    private String contactEmail;

    @ApiModelProperty(value = "传真")
    private String fax;

    @ApiModelProperty(value = "邮编")
    private String zipcode;

    @ApiModelProperty(value = "企业法人")
    private String corporation;

    private LocalDateTime createAt;
    private LocalDateTime updateAt;
    private Long createBy;
    private Long updateBy;

    private TenantConfigDTO tenantConfig;
}
